home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Programming / Python1.4_Source / Amiga / mkdiffs.py < prev    next >
Text File  |  1998-06-24  |  1KB  |  55 lines

  1. #
  2. # This script will check each source directory, and output the differences
  3. # with the original distribution into a DIFF file.
  4. #
  5. # Uses dirdiff (by me) and diff (from SAS)
  6. #
  7. # Assign python_dist: to the location of the original sources.
  8. # Then cd to the root of the Amiga source tree and type 'python Amiga/mkdiffs.py'
  9. #
  10. #         15-Apr-96,  Irmen de Jong.
  11. #
  12.  
  13. import os
  14. import string
  15. import sys
  16.  
  17. def_orig='python_dist:'
  18. def_dest='Amiga/diffs/'
  19.  
  20. def dodir(dir,orig=def_orig,dest=def_dest):
  21.     outfile=dest+'DIFFS_'+dir
  22.     print "processing",dir,"-->",outfile
  23.     dd=os.popen('dirdiff '+dir+' '+orig+dir+' short u d').readlines()
  24.  
  25.     out=open(outfile,'w')
  26.  
  27.     dd.sort()
  28.     dd.reverse()
  29.  
  30.     for line in dd:
  31.         d=string.split(line)
  32.         if d[1][-2:]=='.o': continue        # skip object files
  33.         if d[0]=='UNQ1:':
  34.             # unique for current path, ADDED
  35.             out.write('ADDED   : '+d[1]+'\n')
  36.         elif d[0]=='UNQ2:':
  37.             # unique for original path, REMOVED
  38.             out.write('REMOVED : '+d[1]+'\n')
  39.         elif d[0]=='DIF1:':
  40.             # difference in files.
  41.             # Use pipe to get output from diff.
  42.             print '   diff ',d[1]
  43.             p=os.popen("diff -l4000 %s/%s %s/%s" % (dir,d[1],orig+dir,d[1]))
  44.             out.writelines(p.readlines())
  45.     out.close()
  46.  
  47.  
  48. def run(list):
  49.     print "GENERATING DIFF FILES IN",def_dest
  50.     print "PATH OF ORIGINAL PYTHON DISTRIBUTION IS",def_orig
  51.     for d in list: dodir(d)
  52.  
  53. if __name__=='__main__':
  54.     run(['Include','Modules','Objects','Parser','Python'])
  55.